Systems and methods for displaying subjects of a video portion of content and searching for content related to a subject of the video portion

ABSTRACT

Systems and methods are described herein for displaying subjects of a portion of content and searching for content related to a particular subject in the content. Media data of content is analyzed during playback, and a number of action signatures are identified. Each action signature is associated with a particular subject within the content. The action signature is stored, along with a timestamp corresponding to a playback position at which the action signature begins, in association with an identifier of the particular subject. Upon receiving a command, icons representing each of a number of action signatures at or near the current playback position are displayed. Upon receiving user selection of an icon corresponding to a particular signature, a portion of the content corresponding to the action signature is played back or a search is performed for content related to the signature represented by the selected icon.

BACKGROUND

The present disclosure relates to content delivery and consumptionsystems and, more particularly, repeating portions of content associatedwith, and searching for content related to, a particular subject in thecontent.

SUMMARY

In conventional media consumption systems, when a user wishes to repeata portion of content (e.g., because the user did not understand thedialogue, or the user missed an action sequence), the user must rewindthe content to a playback position prior to the portion they wish torepeat. However, digital rewind functions are imprecise and do not allowthe user to easily control the playback position to which the contentreturns. This results in the user either not rewinding far enough andmissing some of the content the user wishes to repeat, or rewindingfarther than the playback position at which the desired portion beginsand having to unnecessarily re-watch additional portions of the content.

In some cases, a user may, upon seeing or hearing a particular subject(i.e., character, actor, or the like) in the content, wish to findcontent related to that particular subject. In conventional mediaconsumption systems, the user must recall the name of the particularsubject and enter the name into a search function. However, it can bedifficult for the user to recall the exact name. It can also bedifficult or require several commands for the user to access the searchfunction while consuming content. This results in the user either notremembering the name of the subject and entering an incorrect name inthe search function, which prevents the user from finding relevantcontent, or not performing the search at all despite being interested infinding content related to the subject.

Systems and methods are described herein for repeating portions ofcontent associated with a particular subject (e.g., character or object)in the content, and for searching for content related to subjects of aportion of the content. While the content is playing on a device,content data is analyzed, and a number of signatures are identified. Insome embodiments, audio data is analyzed to identify audio signatures(voice or song recognition is an example where audio signatures can beused as identifiers), and each audio signature is associated, based onaudio and/or video characteristics, with a particular subject within thecontent. In some embodiments, video data is analyzed to identify actionsignatures based on the motion of subjects displayed in the content. Anidentifier of each action signature is stored, along with a timestampcorresponding to a playback position at which the action signaturebegins. Subjects may also be identified during playback, and subjectsignatures identified or assigned to each subject. An identifier of eachsubject signature is stored, along with a timestamp corresponding to aplayback position at which the subject is displayed in the content. Asubject signature may be assigned to an audio signature or actionsignature having the same timestamp.

Upon receiving a command, playback of the content is paused and iconsrepresenting each of a number of signatures are displayed. The number oficons could be determined by the number of signatures at or near thecurrent playback position or all icons representing the entirety ofsignatures identified up to the playback position could be displayed.Upon receiving user selection of an icon corresponding to a particularsignature, a portion of the content corresponding to the signature isplayed back.

In some embodiments, upon receiving user selection of an iconcorresponding to a particular subject, an identifier of the subject isretrieved. The timestamp of a signature associated with the identifieris then retrieved, and a portion of the content is played back beginningat the timestamp.

The icons may include an image of the subject corresponding to theirrespective signature. Video data corresponding to the signature isprocessed, and a subject of the signature is identified. A portion of aframe of video data in which the subject is displayed is captured as animage for display in the icon.

To identify an audio signature, audio data is analyzed beginning at afirst playback position. Audio characteristics unique to a first subjectare identified. As analysis continues, audio characteristics of thecurrent audio data are compared with those of previous data. If asignificant change in audio characteristics is detected, the portion ofaudio data from the first playback position to the current playbackposition is identified as an audio signature. Video data may also beanalyzed to determine whether a particular subject responsible for theaudio is displayed in the content.

More than one audio signature may have an ending playback positionwithin a threshold amount of time of the current playback position. Todetermine which portion of audio data to repeat, it is determinedwhether any of the audio signatures overlap one another. If not, theportion of audio data corresponding to the most recent audio signatureis played back. If an audio signature does overlap with another, audiodata corresponding to each audio signature is isolated. Iconscorresponding to the subject of each signature are then displayed, andthe portion corresponding to a selected icon is played back.

To identify an action signature, video data is analyzed beginning at afirst playback position. Motion displayed in the content is tracked, anda subject of motion is identified. For example, a face may be detectedin a frame of the video content. As analysis continues, the level ofmotion (e.g., the speed at which the subject moves) is detected. Whenthe level of motion is detected as above a threshold level, the portionof content from the first playback position to the current playbackposition is identified as an action signature.

If a user selects a particular icon more than once, the systemidentifies a number of signatures corresponding to the subjectrepresented by the selected icon. The number of selections is counted,and the system retrieves the signature that is the number of selectionsprior to the current playback position and repeats the portion ofcontent identifier by the retrieved signature. For example, if the userdouble taps an icon the system will playback the second most recentcontent associated with that subject (e.g., what the subject said priorto the last comment).

If an action signature has a length below a minimum threshold, theportion of content corresponding to the signature is repeated in slowmotion. If the action signature has a length between the minimumthreshold and a maximum threshold, the portion of content is played in acontinuous loop until another input command is received, for apredetermined number of loops, or for a predetermined period of time.

Selection of an icon can also trigger performance of a search forcontent related to the signature represented by the selected icon.Selection of an icon may comprise a swipe gesture on a touchscreeninterface. Based on the direction of the swipe gesture, different typesof searches may be performed. In response to a swipe in a firstdirection, a search is performed for content containing the subject ofthe signature represented by the selected icon. In response to the swipegesture being in a second direction, a search is performed for contenthaving a similar signature to the signature represented by the selectedicon. In response to the swipe gesture being in a third direction, thesubject of the signature represented by the selected icon is identified,and a search is performed for content published by the identifiedsubject.

Selection of an icon may alternatively comprise a tap on a touchscreeninterface. Based on the duration or intensity of the tap, differenttypes of searches may be performed. If the duration of the tap is belowa threshold duration, or if the intensity of the tap is below athreshold intensity, a search is performed for content containing thesubject of the signature represented by the selected icon. If theduration of the tap meets or exceeds the threshold duration, or if theintensity of the tap meets or exceeds the threshold intensity, thesubject of the signature represented by the selected icon is identifiedand a search is performed for content published by the identifiedsubject.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the disclosure will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1 shows a generalized embodiment of a user interface displayed inresponse to a command to repeat audio in accordance with someembodiments of the disclosure;

FIG. 2 shows a generalized embodiment of audio data to be processed inaccordance with some embodiments of the disclosure;

FIG. 3 shows a generalized embodiment of video data to be processed inaccordance with some embodiments of the disclosure;

FIG. 4 shows an example of a table generated by processing audio andvideo data together and assignment of subject signatures to audiosignatures in accordance with some embodiments of the disclosure;

FIG. 5 show another generalized embodiment of video data to be processedin accordance with some embodiments of the disclosure;

FIG. 6 shows an example of a table generated by processing video dataand assignment of subject signatures to action signatures in accordancewith some embodiments of the disclosure;

FIG. 7 is a block diagram representing control circuitry and data flowwithin a media device in response to a command to repeat audio inaccordance with some embodiments of the disclosure;

FIG. 8 is a flowchart representing a process for repeating a portion ofcontent in accordance with some embodiments of the disclosure;

FIG. 9 is a flowchart representing a process for assigning a subjectsignature to an audio signature or action signature is accordance withsome embodiments of the disclosure;

FIG. 10 is a flowchart representing a process for playing back a portionof content in accordance with some embodiments of the disclosure;

FIG. 11 is a flowchart representing a process for capturing an image ofa subject from video data in accordance with some embodiments of thedisclosure;

FIG. 12 is a flowchart representing a process for identifying audiosignatures in accordance with some embodiments of the disclosure;

FIG. 13 is a flowchart representing a process for assigning audiosignatures to a subject in accordance with some embodiments of thedisclosure;

FIG. 14 is a flowchart representing a process for playing back one of aplurality of portions of audio in accordance with some embodiments ofthe disclosure;

FIG. 15 is a flowchart representing a process for identifying actionsignatures in accordance with some embodiments of the disclosure;

FIG. 16 is a flowchart representing a process for identifying a subjectdisplayed in content in accordance with some embodiments of thedisclosure;

FIG. 17 is a flowchart representing a process for detecting a thresholdlevel of motion in accordance with some embodiment of the disclosure;

FIG. 18 is a flowchart representing a process for repeating a portion ofcontent in slow motion or in a loop in accordance with some embodimentsof the disclosure;

FIG. 19 shows an exemplary display and selection of an icon, inaccordance with some embodiments of the disclosure;

FIG. 20 shows an exemplary display and selection of an icon using aswipe gesture, in accordance with some embodiments of the disclosure;

FIG. 21 shows an exemplary display and selection of multiple icons usinga swipe gesture, in accordance with some embodiments of the disclosure;

FIG. 22 is a flowchart representing a process for performing a searchfor content related to the subject of a signature, in accordance withsome embodiments of the disclosure;

FIG. 23 is a flowchart representing a process for determining a type ofsearch to perform based on a swipe gesture, in accordance with someembodiments of the disclosure;

FIG. 24 is a flowchart representing a process for performing a searchfor content related to subjects of more than one signature, inaccordance with some embodiments of the disclosure;

FIG. 25 is a flowchart representing a process for determining a type ofsearch to perform based on the duration of a tap input, in accordancewith some embodiments of the disclosure; and

FIG. 26 is a flowchart representing a process for determining a type ofsearch to perform based on the intensity of a tap input, in accordancewith some embodiments of the disclosure.

DETAILED DESCRIPTION

FIG. 1 depicts a user interface displayed over content 102 in responseto a command to pause or repeat a portion of media content. Whilecontent 102 is being consumed on media device 100, the media device 100processes audio and/or video data of the content 102 to identify anumber of signatures (e.g., audio signatures or action signatures, asdiscussed below). A user may tap on a touchscreen interface of the mediadevice 100 to pause the content 102. A user may alternatively oradditionally request that a portion of content be repeated, using, forexample, a voice command or user input device. Upon receiving thecommand, the media device 100 pauses playback of the content 102 anddisplays a series of icons 112 a-112 d representing subjects 104, 106,108, and 110 of signatures at or near the paused playback position. Theuser may select one of the icons 112 a-112 d and, in response, the mediadevice 100 repeats the portion of content corresponding to a recentsignature associated with the subject represented by the selected icon.For example, icon 112 a represents subject 104. In response to selectionof icon 112 a, media device 100 repeats a portion of dialogue identifiedby media device 100 as having been spoken by the character identified assubject 104.

FIG. 2 depicts an embodiment of audio processing to identify audiosignatures in content 102. Media device 100 processes audio data 200during playback of content 102. Media device 100 identifies audiocharacteristics of audio data 202 and determines that audio data 202 isspoken or otherwise generated by a single subject in content 102. Asplayback of content 102 continues, media device 100 processes audio data204 and determines, based on a comparison of audio characteristics ofaudio data 204 with those of audio data 202, that audio data 204 isspoken or otherwise generated by a different subject than that of audiodata 202. The media device 100 may generate a database or other datastructure in which to store each audio signature along with anidentifier of the associated subject. Media device 100 continuesprocessing audio data 206 and 208 in a similar manner. In some cases,multiple subjects may generate audio at the same time. For example,audio data 210 may include audio generated by two separate subjectssimultaneously. Media device 100 processes the audio data and isolatesaudio data from each subject using audio characteristics specific toeach subject, such as base frequency, modulation, amplitude, or otheraudio characteristics.

FIG. 3 depicts an embodiment of video processing to identify subjectsignatures in content 102. Media device 100 processes video data 300 inconjunction to identify subjects in video of content 102. Media device100 processes video data 300 to identify discrete objects andcharacters/actors in content 102. Media device 100 determines at leastone object or character/actor present in at least one frame of video.Media device 100 may use facial recognition, object recognition, edgedetection, or any other suitable video processing methods to identifyobjects and characters/actors. Media device 100 determines thatCharacter 1 is displayed in video data portions 302, 306, and 312 andCharacter 2 is displayed in video data portions 304, 308, and 310. Mediadevice 100 may store parameters corresponding to each identifiedcharacter as a subject signature.

FIG. 4 shows an example of a table generated by processing audio andvideo data together and assignment of subject signatures to audiosignatures in accordance with some embodiments of the disclosure. Mediadevice 100 determines at what timestamps a source signature and audiosignature overlap and assigns the respective subject to the overlappingaudio signature. Between T₀ and T₁, Character 1 is displayed in content102. From T₁ through T₄, Character 1 continues to be displayed whileaudio signature S₁ is present in the content 102. Media device 100assigns S₁ to Character 1. From T₄ to T₅ Character 1 continues to bedisplayed, but no audio signature is present. From T₅ to T₆ Character 2is displayed in content 102 while audio signature S₂ is present. Mediadevice 100 assigns S₂ to Character 2. Beginning at T₇, both Character 1and Character 2 are displayed in content 102. Audio signature S₃ beginsat T₈. Media device 100 determines that the audio characteristics ofaudio signature S₃ do not match the audio characteristics of anypreviously identified audio signature (i.e., S₁ or S₂) and temporarilyassigns audio signature S₃ to “UNKNOWN-1.” Similarly, at Tia audiosignature S₄ is present in content 102 and media device 100 determinesthat the audio characteristics of audio signature S₄ do not match theaudio characteristics of any previously identified audio signature(i.e., S₁, S₂, or S₃). Additionally, no character is displayed at T₁₃.Therefore, media device 100 temporarily assigns audio signature S₄ to“UNKNOWN-2.” At T₁₈, an audio signature begins while Character 1 isdisplayed in the content 102. The audio characteristics of the audiosignature match those of audio signature S₁ which was previouslyidentified and assigned to Character 1. Media device 100 thereforeidentifies the audio signature as S₁ and assigns it to Character 1. AtT₁₈, Character 2 is also displayed in the content 102 and at T₂₁, whileaudio signature S₁ is still present in the content 102, another audiosignature begins, having audio characteristics matching those of audiosignature S₂. Because S₂ was previously identified as assigned toCharacter 2, and because S₁ is still present and is already assigned toCharacter 1, media device 100 assigns S₂ to Character 2. Using a similaranalysis at T₂₃, media device 100 identifies the audio signature as S₁based on its audio characteristics and assigns it to Character 1.

FIG. 5 depicts an embodiment of video processing to identify actionsignatures in content 102. Media device 100 processes video data 300 todetermine if the motion of any subject displayed in the video exceeds athreshold level of motion 502. Media device 100 first identifies motion504 of subjects in video of content 102. Media device 100 identifiesdiscrete objects and characters/actors in content 102. Media device 100determines at least one object or character/actor present in at leastone frame of video. Media device 100 may use facial recognition, objectrecognition, edge detection, or any other suitable video processingmethods to identify objects and characters/actors. Media device 100compares the position of each subject in a subsequent frame of video todetermine if any subject moved more than a threshold distance betweenthe two frames of video. For example, media device 100 determines thatmotion of Character 1 exceeds threshold 502 from T₃ through T₈ andidentifies motion 506 as action signature A₁. Similarly, media device100 determines the motion of Character 2 exceeds the threshold 502 fromT₁₉ through T₂₃ and identifies motion 508 as action signature A₂.

FIG. 6 shows an example of a table generated by processing video dataand assignment of subject signatures to action signatures in accordancewith some embodiments of the disclosure. Similar to the analysesdescribed above in connections with FIG. 4, media device 100 assignsaction signatures to subject signatures based on which subjectsignatures coincide with which action signatures. Thus, action signatureA₁ is assigned to Character 1 at T₃ due to Character 1 being present atthe start of A₁, and action signature A₂ is assigned to Character 2 atT₁₉ due to Character 2 being present at the start of A₂.

FIG. 7 is an illustrative block diagram representing circuitry and dataflow within media device 100 in accordance with some embodiments of thedisclosure. Media device 100 may be any device for accessing the contentdescribed above, such as a television, a Smart TV, a set-top box, anintegrated receiver decoder (IRD) for handling satellite television, adigital storage device, a digital media receiver (DMR), a digital mediaadapter (DMA), a streaming media device, a DVD player, a DVD recorder, aconnected DVD, a local media server, a BLU-RAY player, a BLU-RAYrecorder, a personal computer (PC), a laptop computer, a tabletcomputer, a WebTV box, a personal computer television (PC/TV), a PCmedia server, a PC media center, a handheld computer, a stationarytelephone, a personal digital assistant (PDA), a mobile telephone, aportable video player, a portable music player, a portable gamingmachine, a smartphone, or any other television equipment, computingequipment, or wireless device, and/or combination of the same. Mediadevice 100 comprises input circuitry 704. Input circuitry 704 mayinclude a microphone and voice processing circuitry for receiving voicecommands, infrared receiving circuitry for receiving commands from aremote control device, a touchscreen interface for receiving userinteraction with graphical user interface elements, or any combinationthereof or any other suitable input circuitry for receiving any othersuitable user input. Media device 100 also comprises control circuitry700 and storage 702. Control circuitry 700 may be based on any suitableprocessing circuitry and comprises control circuits and memory circuits,which may be disposed on a single integrated circuit or may be discretecomponents. As referred to herein, processing circuitry should beunderstood to mean circuitry based on one or more microprocessors,microcontrollers, digital signal processors, programmable logic devices,field-programmable gate arrays (FPGAs), application-specific integratedcircuits (ASICs), etc., and may include a multi-core processor (e.g.,dual-core, quad-core, hexa-core, or any suitable number of cores). Insome embodiments, processing circuitry may be distributed acrossmultiple separate processors or processing units, for example, multipleof the same type of processing units (e.g., two Intel Core i7processors) or multiple different processors (e.g., an Intel Core i5processor and an Intel Core i7 processor). Some control circuits may beimplemented in hardware, firmware, or software. Input circuitry 704 maybe integrated with control circuitry 700. Storage 702 may be any devicefor storing electronic data, such as random-access memory, read-onlymemory, hard drives, optical drives, digital video disc (DVD) recorders,compact disc (CD) recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3Ddisc recorders, digital video recorders (DVRs, sometimes called personalvideo recorders, or PVRs), solid state devices, quantum storage devices,gaming consoles, gaming media, or any other suitable fixed or removablestorage devices, and/or any combination of the same.

Control circuitry 700 comprises media playback circuitry 706. Mediaplayback circuitry 706 receives content 102 from a content provider. Thecontent provider may be an OTT/Internet service (e.g., Netflix), atraditional television network (e.g., NBC), a traditional media company(e.g., NBCUniversal), or any other suitable content provider. Content102 may be received via a physical RF channel over a cable televisionconnection or terrestrial broadcast, or may be received over an Internetconnection from an over-the-top (OTT) service using a wired connection(e.g., Ethernet) or wireless connection (e.g., 802.11a/b/g/n (WiFi),WiMax, GSM, UTMS, CDMA, TDMA, 3G, 4G, 4G LTE, or any other suitable typeof wireless data transmission). Media playback circuitry processescontent 102 and transmits 708 audio and video data of content 102 toaudio processing circuitry 710 and video processing circuitry 712,respectively. Media playback circuitry simultaneously transmits 714 theaudio and video data of content 102 to audio output circuitry 716 andvideo output circuitry 718, respectively.

Audio processing circuitry 710 analyzes audio characteristics of audiodata of content 102 to identify unique audio signatures using anysuitable audio analysis technique. For example, audio processingcircuitry 710 may use frequency analysis to determine a base frequencyand unique harmonic pattern of a particular voice, phoneme analysis todetermine an accent of a particular voice, etc. Audio processingcircuitry 710 may also identify non-vocal audio such as music, soundeffects, and the like using similar frequency analysis techniques or anyother suitable method of audio analysis. Once a particular set of audiocharacteristics have been identified, audio processing circuitry 710stores the audio characteristics in, for example, storage 702, alongwith a timestamp corresponding to a playback position of content 102 atwhich the audio characteristics were first identified. Audio processingcircuitry 710 continues to analyze audio data of content 102 andcompares the determined audio characteristics of the audio data to thestored audio characteristics. Upon detecting a significant difference inaudio characteristics, audio processing circuitry 710 determines thatthe source of the audio has changed. For example, the base frequency ofa voice may change by more than 20 Hz. Audio processing circuitrygenerates an audio signature from the stored audio characteristics andtimestamp and stores 720 the audio signature in a database in storage702. Audio processing circuitry 710 then stores the new audiocharacteristics and a new timestamp in storage 702 and continuesanalyzing the audio data as described above.

In some embodiments, media device 100 processes video data of content102 in conjunction with the audio data to identify a subjectcorresponding to an audio signature. In some embodiments, media device100 processes video data to identify action signatures based on motionof subjects in content 102. Video processing circuitry 712 analyzesvideo data of content 102 using edge detection, facial recognition, orany other suitable video or image processing technique to identifysubjects in a video frame. Video processing circuitry 712 may captureand process a single frame of video data or may process more than oneframe of video data. For example, video processing circuitry 712 mayprocess a single frame to identify a person depicted in the frame, or aset of consecutive frames to determine whether a person depicted in theset of frames is the subject of an audio signature by analyzing themovement of the mouth of the person. If a depicted subject isidentified, the audio signature is stored 720 in storage 702 inassociation with an identifier 722 of the source. In some embodiments,video processing circuitry 712 also captures as an image a portion of atleast one frame in which the subject is depicted and stores the image inassociation with the audio signature, or in association with anidentifier of the subject. Alternatively, video processing circuitry 712stores an identifier of a particular frame in which the subject isdepicted and a set of coordinates identifying a portion of the framethat depicts the subject.

During playback of content 102, input circuitry 704 receives command 724from a user input device to repeat a portion of content. Upon receivingcommand 724, input circuitry 704 transmits an instruction 726 to mediaplayback circuitry 706 to pause playback of the content 102 and aninstruction 728 to storage 702 to retrieve audio signatures and/oraction signatures within a threshold amount of time prior to the time atwhich the command 724 was received. For example, input circuitry 704 mayinstruct storage 702 to retrieve signatures with timestamps within thelast thirty seconds prior to the timestamp at which the content 102 ispaused. The retrieved signatures are transmitted 730 from storage 702 tocontrol circuitry 700. Control circuitry 700, using video outputcircuitry 718, generates for display a number of icons, each iconrepresenting a subject of one of the retrieved audio signatures. Theicons are then displayed 732 as an overlay over the paused content 102.

Upon receiving selection 734 of an icon, input circuitry 704 transmitsan instruction 736 to media playback circuitry 706 to replay the portionof content 102 corresponding to the signature represented by theselected icon. Media playback circuitry 706 retrieves the media data andtransmits 738 the retrieved media data to audio output circuitry 716 andvideo output circuitry 718 for output 740, 732.

FIG. 8 is a flowchart representing an illustrative process 800 forresolving a query to repeat a portion of content in accordance with someembodiments of the disclosure. Process 800 may be implemented on controlcircuitry 700. In addition, one or more actions of process 800 may beincorporated into or combined with one or more actions of any otherprocess or embodiment described herein.

At 802, control circuitry 700, using audio processing circuitry 710and/or video processing circuitry 712, identifies, during playback ofcontent 102, a plurality of signatures. This may be accomplished usingmethods described below in connection with FIG. 12. Audio processingcircuitry 710 and/or video processing circuitry 712 may identify onesignature in content 102 at a time or may identify multiple signaturessimultaneously.

At 804, control circuitry 700 initializes a counter variable N with avalue of 0. For each identified signature, control circuitry 700determines, at 806, whether a previously identified subject is thesubject of the current signature. For example, control circuitry 700compares the audio characteristics of previous audio signatures to thoseof the current audio signature. As another example, control circuitry700 compares objects and characters displayed in a frame of video toparameters of previously identified subjects. If the audiocharacteristics of the current audio signature do not match those of anyof the previous audio signatures, or if no object or character currentlydisplayed matches a previously identified subject, then, at 808, controlcircuitry 700 assigns a new identifier as the subject of the signature.If the audio characteristics of the current audio signature do matchthose of a previous audio signature or if an object or charactercurrently displayed matches a previously identified subject, thencontrol circuitry 700 determines that the subject of the currentsignature is the same as the subject of the previous signature havingmatching audio characteristics or image parameters and, at 810, assignsthe subject identifier of the previous signature to the currentsignature. Control circuitry 700 then stores the identifier of thecurrent signature and a start time corresponding to the currentsignature in storage 702. At 812, control circuitry 700 determineswhether all identified signatures have yet been processed by comparingthe value of N to the number of signatures identified. If there are moresignatures to process then, at 814, control circuitry 700 increments thevalue of N by one and processing returns to step 806.

At 816, control circuitry 700, using input circuitry 704, receives aninput command.

The input command may be a command to pause playback of the content, ora command to repeat a portion of the content. For example, inputcircuitry 704 may include a microphone for receiving a voice command, aninfrared receiver for receiving a command from a remote control, a WiFior Bluetooth module for receiving commands from a device such as atablet or smartphone, or any other suitable circuitry for receivinginput commands.

At 818, control circuitry 700, using video output circuitry 718,generates for display a plurality of icons (e.g., 112 a-112 d), eachicon representing a subject associated with the retrieved signatures. At820, control circuitry 700, using input circuitry 704, receives aselection of an icon. In response to receiving the selection, controlcircuitry 700 retrieves the timestamp of the signature associated withthe selected icon. At 822, control circuitry 700, using media playbackcircuitry 706, retrieves the portion of content 102 corresponding to thetimestamp of the signature and plays back the portion of the contentusing audio output circuitry 716 and video output circuitry 718. Ifmultiple audio signatures coincide, control circuitry 700 may, usingaudio processing circuitry 710, isolate audio data from the subject ofan audio signature as described below in connection with FIG. 14.

The actions or descriptions of FIG. 8 may be used with any otherembodiment of this disclosure. In addition, the actions and descriptionsdescribed in relation to FIG. 8 may be done in suitable alternativeorders or in parallel to further the purposes of this disclosure.

FIG. 9 is a flowchart representing an illustrative process 900 forassigning a subject signature to an audio signature or action signaturein accordance with some embodiments of the disclosure. Process 900 maybe implemented on control circuitry 700. In addition, one or moreactions of process 900 may be incorporated into or combined with one ormore actions of any other process or embodiment disclosed herein.

At 902, control circuitry 700 identifies, during playback of content102, at least one subject signature. For example, control circuitry 700,using video processing circuitry 712, analyzes at least one video frameof content 102. Using edge detection, facial detection, or any othersuitable image processing or video processing techniques, videoprocessing circuitry 712 identifies a subject signature of at least onesubject displayed in the video frame. Control circuitry 700 stores, instorage 702, a set of parameters corresponding to the visualcharacteristics of each displayed subject.

At 904, control circuitry 700 initializes a counter variable N with avalue of 0. For each identified subject signature, control circuitry 700determines, at 906, whether a previously identified subject is thesubject of the current signature. For example, control circuitry 700compares the parameters of previous subject signatures to those of thecurrent subject signature. If the parameters of the current subjectsignature do not match those of any of the previous subject signaturesor if no subject currently displayed matches a previously identifiedsubject, then, at 908, control circuitry 700 assigns a new identifier tothe subject signature. If the parameters of the current subjectsignature do match those of a previous subject signature or if a subjectcurrently displayed matches a previously identified subject, thencontrol circuitry 700 determines that the subject of the currentsignature is the same as the subject of the previous signature havingmatching parameters and, at 910, assigns the subject identifier of theprevious signature to the current signature. Control circuitry 700 thenstored the subject identifier and a start time corresponding to thesubject signature in storage 702.

At 912, control circuitry 700 determines whether any audio signature oraction signature has the same timestamp as the current subjectsignature. If no audio signature or action signature has the sametimestamp as the current subject signature, then processing proceeds tostep 916. If an audio signature or action signature has the sametimestamp as the current subject signature, then, at 914, controlcircuitry 700 assigns the current subject signature to the audiosignature or action signature having the same timestamp. After assigningthe current subject signature to the audio signature or action signaturehaving the same timestamp, at 916, control circuitry 700 determineswhether all identified signatures have yet been processed by comparingthe value of N to the number of signatures identified. If there are moresignatures to process then, at 916, control circuitry 700 increments thevalue of N by one and processing returns to step 906.

The action or descriptions of FIG. 9 may be used with any otherembodiment of this disclosure. In addition, the actions and descriptionsdescribed in related to FIG. 9 may be done in suitable alternativeorders or in parallel to further the purposes of this disclosure.

FIG. 10 is a flowchart representing an illustrative process 1000 forplaying back a portion of audio in accordance with some embodiments ofthe disclosure. Process 1000 may be implemented on control circuitry700. In addition, one or more actions of process 1000 may beincorporated into or combined with one or more actions of any otherprocess or embodiment described herein.

At 1002, control circuitry 700 retrieves an identifier of the subjectrepresented by an icon. For example, when generating an icon fordisplay, control circuitry 700 may include metadata for the iconincluding the subject identifier. In another example, control circuitry700 generates a link or other computer code that includes a reference orpointer to the source identifier.

At 1004, control circuitry 700 accesses a database or other datastructure in storage 702 in which signatures are stored in associationwith identifiers of subjects. At 1006, control circuitry 700 retrieves,from the database or data structure, a timestamp of a signatureassociated with the retrieved subject identifier. At 1008, controlcircuitry 700, using media playback circuitry 706, plays back theportion of the audio of content 102 beginning at the retrievedtimestamp.

The actions or descriptions of FIG. 10 may be used with any otherembodiment of this disclosure. In addition, the actions and descriptionsdescribed in relation to FIG. 10 may be done in suitable alternativeorders or in parallel to further the purposes of this disclosure.

FIG. 11 is a flowchart representing an illustrative process 1100 forcapturing an image of an audio source from video data in accordance withsome embodiments of the disclosure. Process 1100 may be implemented oncontrol circuitry 700. In addition, one or more actions of process 1100may be incorporated into or combined with one or more actions of anyother process or embodiment described herein.

At 1102, control circuitry 700, using video processing circuitry 712,processes at least one frame of video data of content 102 correspondingto a signature and, at 1104, identifies a subject displayed in the atleast one frame. For example, video processing circuitry 712 may useedge detection, facial recognition, object recognition, or any othersuitable video processing or image processing technique to identifyobjects or characters displayed in the frame. If more than one frame isprocessed, video processing circuitry 712 may compare the frames todetermine if, for example, the mouth of a character is moving duringplayback of the signature.

At 1106, video processing circuitry 712 captures a portion of the videoframe in which the identified subject is displayed. Video processingcircuitry 712 may capture image data from the frame and store the imagein storage 702 in association with the signature. Alternatively, videoprocessing circuitry 712 may capture coordinates bounding an area of theframe in which the identified source is displayed and store in storage702 the coordinates, as well as an identifier of the frame, inassociation with the signature.

It is contemplated that the actions or descriptions of FIG. 11 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 11 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 12 is a flowchart representing an illustrative process 1200 foridentifying audio signatures in accordance with some embodiments of thedisclosure. Process 1200 may be implemented on control circuitry 700. Inaddition, one or more actions of process 1200 may be incorporated intoor combined with one or more actions of any other process or embodimentdescribed herein.

At 1202, control circuitry 700, using audio processing circuitry 710,begins analyzing audio data of content 102 at a first timestamp. At1204, control circuitry 700 initializes a variable T_(first) and sets asits value the first timestamp. At 1206, audio processing circuitry 710identifies audio characteristics of the audio data, which are unique toa first source. For example, audio processing circuitry 710 may usefrequency analysis, rhythm analysis, harmonics, tempo, or any otheraudio characteristics to uniquely identify audio as being from aparticular source. At 1208, audio processing circuitry 710 continuesanalyzing the audio data.

At 1210, control circuitry 700 initializes a variable T_(current) andsets its value as the timestamp corresponding to the audio datacurrently being analyzed. At 1212, audio processing circuitry 710determines whether the audio characteristics at T_(current) aredifferent from the audio characteristics at T_(first). For example,audio processing circuitry 710 may compare a set of audiocharacteristics at T_(current) with those identified at T_(first) toidentify whether the value of any characteristic has changed by at leasta threshold amount, such as five percent. If no change is detected,processing returns to 1208, at which audio processing circuitry 710continues analyzing the audio data.

If the audio characteristics at T_(current) are determined to bedifferent from the audio characteristics at T_(first), then, at 1214,audio processing circuitry 710 identifies as an audio signature theportion of audio data from T_(first) to T_(current). Audio processingcircuitry 710 stores the audio signature in storage 702 along with atleast T_(first). At 1216, control circuitry 700 sets the value ofT_(first) to the value of T_(current), and processing returns to 1208.

It is contemplated that the actions or descriptions of FIG. 12 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 12 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 13 is a flowchart representing an illustrative process 1300 forassigning audio signatures to a subject in accordance with someembodiments of the disclosure. Process 900 may be implemented on controlcircuitry 700. In addition, one or more actions of process 900 may beincorporated into or combined with one or more actions of any otherprocess or embodiment described herein.

At 1302, control circuitry 700, using video processing circuitry 712,processes at least one video frame from a portion of content 102 betweenT_(first) and T_(current). At 1304, video processing circuitry 712determines whether a subject is displayed in the at least one frame.Video processing circuitry 712 may use edge detection, facialrecognition, object recognition, or any other suitable video processingor image processing technique.

If a subject displayed is displayed in the at least one frame, then, at1306, control circuitry 700 determines whether the displayed subject isthe source of an audio signature. For example, control circuitry 700 maycompare, using audio processing circuitry 710 and video processingcircuitry 712, the audio signature with the at least one frame of videodata. Audio processing circuitry 710 may identify a type of audiosignature based on audio characteristics. For example, audio processingcircuitry 710 may identify a low frequency speech pattern as a malevoice. Control circuitry 700 may then use video processing circuitry 712to identify a male figure in the at least one video frame. Videoprocessing circuitry 412 may identify a character whose mouth is movingduring the audio signature.

If the displayed subject is the source of the audio signature, then, at1308, control circuitry 700 assigns the audio signature to the displayedsource. For example, control circuitry 700 may update the database ordata structure in storage 702 to include an identifier of the subject inassociation with the audio signature.

If no subject is displayed in the at least one frame, or if a displayedsubject is not the source of the audio signature, then, at 1310, controlcircuitry 700 assigns the audio signature to another subject. Controlcircuitry 700 may, using audio processing circuitry 710, compare theaudio characteristics of the audio signature with other audio signatureshaving known subjects. If a match is detected, control circuitry 700 mayassign as a subject of the audio signature the subject of the audiosignature having matching audio characteristics. If no matches aredetected, control circuitry 700 may assign a new or temporary subjectidentifier to the audio signature.

It is contemplated that the actions or descriptions of FIG. 13 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 13 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 14 is a flowchart representing an illustrative process 1400 forplaying back one of a plurality of portions of audio in accordance withsome embodiments of the disclosure. Process 1400 may be implemented oncontrol circuitry 400. In addition, one or more actions of process 1400may be incorporated into or combined with one or more actions of anyother process or embodiment described herein.

At 1402, control circuitry 700 determines whether more than one audiosignature has an end time within a threshold time of a current playbacktimestamp. For example, in a portion of content 102 in which severalcharacters have a conversation, several audio signatures may end withinthirty seconds of the current playback position and will be returned inresponse to a query for audio signatures present within the thresholdperiod.

At 1404, control circuitry 700 determines whether any of the audiosignatures ending within the threshold period temporally overlap. Forexample, two characters may speak simultaneously, resulting in at leastone audio signature ending at the same time as, or between the starttime and end time of, another audio signature. If no audio signaturestemporally overlap, then, at 1406, control circuitry 700 plays back aportion of audio data of content 102 corresponding to the most recentaudio signature. However, if any audio signatures temporally overlap,then, at 1408, control circuitry 700, using audio processing circuitry710, isolates the audio data corresponding to each audio signature.Audio processing circuitry 710 may use audio characteristics of eachaudio signature to isolate frequencies and harmonics unique to eachsignature. Audio processing circuitry 710 may suppress frequenciesassociated with background noise. Audio processing circuitry 710 mayextract or copy audio data representing each individual audio signatureand generate individual audio samples corresponding to each audiosignature.

At 1410, control circuitry 700, using video output circuitry 718,generates for display a plurality of icons, each icon representing asubject corresponding to one of the audio signatures. At 1412, controlcircuitry 700, using input circuitry 704, receives a selection of anicon and, at 1414, plays back, using media playback circuitry 706, aportion of at least the audio of content 102 corresponding to the audiosignature associated with the selected icon. This may be an extractedaudio sample as described above.

It is contemplated that the actions or descriptions of FIG. 14 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 14 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 15 is a flowchart representing an illustrative process 1500 foridentifying action signatures in accordance with some embodiments of thedisclosure. Process 1500 may be implemented on control circuitry 700. Inaddition, one or more actions of process 1500 may be incorporated intoor combined with one or more actions of any other process or embodimentdescribed herein.

At 1502, control circuitry 700, using video processing circuitry 712,begins analyzing video data of content 102 at a first timestamp. At1504, control circuitry 700 initializes a variable T_(first) and sets asits value the first timestamp. At 1506, video processing circuitry 712determines whether a subject displayed in the video data of content 102displays a threshold level of motion. For example, video processingcircuitry 712 may compare the position of each subject in a frame at thefirst timestamp with that of a previous frame to determine a distancetraveled between the two frames. If no subject displays a thresholdlevel of motion, processing returns to step 1502.

If a subject does display a threshold level of motion, then, at 1508,video processing circuitry 712 continues analyzing the video data. At1510, control circuitry 700 initializes a variable T_(current) and setsits value as the timestamp corresponding to the video data currentlybeing analyzed. At 1512, video processing circuitry 712 determineswhether the motion of the subject at T_(current) is still at or abovethe threshold level of motion. If so, processing returns to 1508, atwhich video processing circuitry 712 continues analyzing the video data.

If the motion of the subject at T_(current) is determined to be belowthe threshold level of motion, then, at 1514, video processing circuitry712 identifies as an action signature the portion of video data fromT_(first) to T_(current). Video processing circuitry 712 stores theaction signature in storage 702 along with at least T_(first). At 1516,control circuitry 700 sets the value of T_(first) to the value ofT_(current), and processing returns to 1506.

It is contemplated that the actions or descriptions of FIG. 15 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 15 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 16 is a flowchart representing an illustrative process 1600 foridentifying a subject displayed in content in accordance with someembodiments of the disclosure. Process 1600 may be implemented oncontrol circuitry 700. In addition, one or more actions of process 1600may be incorporated into or combined with one or more actions of anyother process or embodiment described herein.

At 1602, control circuitry 700, using video processing circuitry 712,detects a face in a frame of the video of content 102. Video processingcircuitry 712 may use any suitable video processing or image processingtechnique to identify faces displayed in video data of content 102.Video processing circuitry 712 may identify a set of image parameterswhich uniquely identify the detected face, such as inter-pupil distance(i.e., the distance between the left and right pupils of the face'seyes), nose size or position, ear size or position, hair color, eyecolor, overall face shape, etc. Video processing circuitry 712 may alsoemploy a Haar algorithm or local binary patterns algorithm to identifyfaces. At 1604, video processing circuitry 712 assigns an identifier tothe detected face. At 1606, video processing circuitry 712 stores, instorage 702, the set of parameters corresponding to the face inassociation with the assigned identifier.

It is contemplated that the actions or descriptions of FIG. 16 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 16 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 17 is a flowchart representing an illustrative process 1700 fordetecting a threshold level of motion in accordance with some embodimentof the disclosure. Process 1700 may be implemented on control circuitry700. In addition, one or more actions of process 1700 may beincorporated into or combined with one or more actions of any otherprocess or embodiment described herein.

At 1702, control circuitry 700, using video processing circuitry 712,analyzes a first video frame of content 102. Video processing circuitryidentifies at least one subject displayed in the first video frame usingmethods described above in connection with FIG. 9. At 1704, videoprocessing circuitry 712 identifies a position of a subject in the firstvideo frame. For example, video processing circuitry 712 identifies xand y coordinates of a corner of the subject. If the subject is of anirregular shape, such as a character's face, video processing circuitry712 may first define a bounding box having a top-left cornercorresponding to a point directly to the left of the top-most pixel ofthe subject and directly above the left-most pixel of the subject, and abottom-right corner corresponding to a point directly to the right ofthe bottom-most pixel of the subject and directly below the right-mostpixel of the subject. Video processing circuitry 712 may then identify aposition of the bounding box.

At 1706, video processing circuitry 712 analyzes the next frame of videoof content 102 and, at 1708, identifies the position of the subject inthe next frame of video using the methods described above. At 1710,video processing circuitry 712 determines whether the subject has moveda threshold distance between the two frames analyzed. For example, videoprocessing circuitry 712 may calculate the difference between theposition of the object or of the bounding box in each of the frames anddetermine whether the object moved more than a threshold number ofpixels. Video processing circuitry 712 may also account for motiontoward or away from the viewer by comparing the apparent size of theobject between the two frames and determining whether the size hasincreased or decreased by a threshold amount. Video processing circuitry712 may use both of these calculations to determine three-dimensionalmotion of the subject. Video processing circuitry 712 may calculate avector in a three-dimensional space along which the subject has movedand determine the distance traveled along the vector. If the subject hasmoved a threshold distance, then, at 1712, video processing circuitry712 identifies that a threshold level of motion has been detected.

It is contemplated that the actions or descriptions of FIG. 17 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 17 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 18 is a flowchart representing an illustrative process 1800 forrepeating a portion of content in slow motion or in a loop in accordancewith some embodiments of the disclosure. Process 1800 may be implementedon control circuitry 700. In addition, one or more actions of process1800 may be incorporated into or combined with one or more actions ofany other process or embodiment described herein.

At 1802, control circuitry 700 determines whether the portion of thecontent 102 corresponding to a selected action signature is shorter thana maximum threshold, such as thirty seconds. If the portion of thecontent 102 is shorter than the maximum threshold, then, at 1804,control circuitry 700 determines whether the portion of the content 102is also shorter than a minimum threshold, such as five seconds. If theportion of the content 102 corresponding to the selected actionsignature is shorter than the minimum threshold, then, at 1806, controlcircuitry 700, using media playback circuitry 706, repeats the portionof the content 102 in slow motion. If the length of the portion of thecontent 102 corresponding to the selected action signature is betweenthe minimum threshold and the maximum threshold, then, at 1808, controlcircuitry 700, using media playback circuitry 706, repeats the portionof the content 102 in a loop. Media playback circuitry 706 may continuelooping the portion of content 102 until another input command isreceived. Alternatively or additionally, media playback circuitry 706may continue looping the portion of content 102 for a predeterminednumber of loops (e.g., five loops) or a predetermined amount of time(e.g., thirty seconds).

It is contemplated that the actions or descriptions of FIG. 18 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 18 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 19 shows an exemplary display 1900 and selection of an icon, inaccordance with some embodiments of the disclosure. Display 1900includes icons 1902 a, 1902 b, and 1902 c. Selection of an icon, forexample icon 1902 a, may be received as a tap input 1904. The durationof tap input 1904 may be used to determine the type of search to beperformed in response to tap input 1904. For example, in response to ashort tap, or a tap having a duration that is less than a thresholdduration, such as 0.5 seconds, a search is performed for contentcontaining the subject of the signature represented by the selectedicon. In response to a longer tap having a duration that meets orexceeds the threshold duration (i.e., a tap lasting at last 0.5seconds), the subject of the signature represented by the selected iconis identified and a search is performed for content published by theidentified subject. For example, a unique identifier such as an accountname, account number, or other unique identifier of the subject of thesignature represented by the selected icon is retrieved. The identifiermay be retrieved from metadata of the content or may be determined bycomparing the signature to other signatures with known subjects. Asearch is then performed using the unique identifier as a searchparameter for the user or account from which content has been published.

FIG. 20 shows an exemplary display 2000 and selection of an icon using aswipe gesture, in accordance with some embodiments of the disclosure.Display 2000 includes icons 2002 a, 2002 b, and 2002 c. Selection of anicon, for example icon 2002 a, may be received as a swipe gesture 2004.A direction may be associated with swipe gesture 2004. For example, asshown in FIG. 20, swipe gesture 2004 proceeds from left to right. Inresponse to a swipe gesture proceeding from left to right, a particulartype of search may be performed, while other types of searches may beperformed in response to swipe gestures that proceed in otherdirections. Examples of types of searches performed in response to suchswipe gestures include, but are not limited to, searches for contentcontaining the subject of the signature represented by the selectedicon, searches for content containing signatures that are similar to thesignature represented by the selected icon, and searches for contentpublished by the subject of the signature represented by the selectedicon.

FIG. 21 shows an exemplary display 2100 and selection of multiple iconsusing a swipe gesture, in accordance with some embodiments of thedisclosure. Display 2100 includes icons 2102 a, 2102 b, and 2102 c.Selection of multiple icons may be received as a swipe gesture 2104which passes through more than one icon. For example, as shown in FIG.21, swipe gesture 2104 passes through icon 2102 a and icon 2102 b. Inresponse to such a swipe gesture, a search is performed for contentcontaining both the subject of the signature represented by icon 2102 aand the subject of the signature represented by icon 2102 b.

FIG. 22 is a flowchart representing an illustrative process 2200 forperforming a search for content related to the subject of a signature,in accordance with some embodiments of the disclosure. Process 2200 maybe implemented on control circuitry 700. In addition, one or moreactions of process 2200 may be incorporated into or combined with one ormore actions of any other process or embodiment described herein.

At 2202, control circuitry 700, using audio processing circuitry 710and/or video processing circuitry 712, identifies, during playback ofcontent 102, a plurality of signatures. This may be accomplished usingmethods described above in connection with FIG. 12. Audio processingcircuitry 710 and/or video processing circuitry 712 may identify onesignature in content 102 at a time or may identify multiple signaturessimultaneously.

At 2204, control circuitry 700 initializes a counter variable N with avalue of 0. For each identified signature, control circuitry 700determines, at 2206, whether a previously identified subject is thesubject of the current signature. For example, control circuitry 700compares the audio characteristics of previous audio signatures to thoseof the current audio signature. As another example, control circuitry700 compares objects and characters displayed in a frame of video toparameters of previously identified subjects. If the audiocharacteristics of the current audio signature do not match those of anyof the previous audio signatures, or if no object or character currentlydisplayed matches a previously identified subject, then, at 2208,control circuitry 700 assigns a new identifier as the subject of thesignature. If the audio characteristics of the current audio signaturedo match those of a previous audio signature or if an object orcharacter currently displayed matches a previously identified subject,then control circuitry 700 determines that the subject of the currentsignature is the same as the subject of the previous signature havingmatching audio characteristics or image parameters and, at 2210, assignsthe subject identifier of the previous signature to the currentsignature. Control circuitry 700 then stores the identifier of thecurrent signature and a start time corresponding to the currentsignature in storage 702. At 2212, control circuitry 700 determineswhether all identified signatures have yet been processed by comparingthe value of N to the number of signatures identified. If there are moresignatures to process, then, at 2214, control circuitry 700 incrementsthe value of N by one and processing returns to step 2206.

At 2216, control circuitry 700, using input circuitry 704, receives aninput command. The input command may be a command to pause playback ofthe content, or a command to repeat a portion of the content. Forexample, input circuitry 704 may include a microphone for receiving avoice command, an infrared receiver for receiving a command from aremote control, a WiFi or Bluetooth module for receiving commands from adevice such as a tablet or smartphone, or any other suitable circuitryfor receiving input commands.

At 2218, control circuitry 700, using video output circuitry 718,generates for display a plurality of icons (e.g., 112 a-112 d), eachicon representing a subject associated with the retrieved signatures. At2220, control circuitry 700, using input circuitry 704, receives aselection of an icon. In response to receiving the selection, at 2222,control circuitry 700 performs a search for content related to thesignature represented by the selected icon. For example, controlcircuitry 700 identifies a subject of the signature from metadata of thecontent item or by comparing the signature with other signatures knownto be related to particular subjects. Once identified, control circuitry700 transmits a query to a content database. The query includes as asearch parameter a unique identifier of the identified subject.

It is contemplated that the actions or descriptions of FIG. 22 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 22 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 23 is a flowchart representing an illustrative process 2300 fordetermining a type of search to perform based on a swipe gesture, inaccordance with some embodiments of the disclosure. Process 2300 may beimplemented on control circuitry 700. In addition, one or more actionsof process 2300 may be incorporated into or combined with one or moreactions of any other process or embodiment described herein.

At 2302, control circuitry 700, using input circuitry 704, detects aswipe input. For example, input circuitry 704 detects the capacitance orelectrical resistance of a user's skin on a touchscreen interface at aplurality of adjacent or nearly adjacent points within a short period oftime, the set of points indicting a path or track of the swipe gesture.At 2304, control circuitry 700, using input circuitry 704, determines adirection of the swipe input. For example, input circuitry 704 maycompare coordinates of each point to determine movement along twodifferent axes such as horizontal movement and vertical movement. Inputcircuitry 704 may then determine, based on the overall movement, and onthe degree of change in a particular axis between each point, adirection of the swipe gesture.

At 2306, control circuitry 700 determines whether the direction of theswipe gesture is a first direction and, if so, then, at 2308, controlcircuitry 700 performs a search for content containing the subject ofthe signature represented by the selected icon. If not, then, at 2310,control circuitry 700 determines whether the direction of the swipegesture is a second direction. If so, then, at 2312, control circuitry700 performs a search for content having a signature similar to thesignature represented by the selected icon. If not, then, at 2314,control circuitry determines whether the direction of the swipe gestureis a third direction. If so, then, at 2316, control circuitry 700identifies the subject of the signature represented by the selected iconas described above in relation to FIG. 22, and, at 2318, performs asearch for content published by the identified subject.

It is contemplated that the actions or descriptions of FIG. 23 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 23 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 24 is a flowchart representing an illustrative process 2400 forperforming a search for content related to subjects of more than onesignature, in accordance with some embodiments of the disclosure.Process 2400 may be implemented on control circuitry 700. In addition,one or more actions of process 2400 may be incorporated into or combinedwith one or more actions of any other process or embodiment describedherein.

At 2402, control circuitry 700, using input circuitry 704, detects aswipe input. As described above in related to FIG. 23, input circuitry704 may detect the capacitance or electrical resistance of a user's skinon a touchscreen interface at a plurality of adjacent or nearly adjacentpoints within a short period of time, the set of points indicting a pathor track of the swipe gesture. Each point has a corresponding set ofcoordinates describing its location in two dimensions on the touchscreeninterface relative to a known position, such as a corner, whosecoordinates are (0,0). At 2404, control circuitry 700 initializes datasets {P}, {K}, and {X}, as well as variables N and T.

Data set {P} is a set of coordinates describing the track of the swipeinput. For example, a swipe input from left to right across the top of atouchscreen interface having a width of one hundred pixels and whosetop-left corner has coordinates (0,0) results in a data set {P}containing coordinates (0,0), (1,0), (2,1), (3,0), and so on until thepoint at which the swipe gesture ends. Due to natural variations in auser's movements, some coordinates, such as (2,1), above, may not beperfectly in line with other coordinates in data set {P}. Controlcircuitry 700 may determine the overall track of a swipe gesture byfactoring out minor fluctuations in the coordinates representingmovement along one axis.

Data set {K} contains a set of coordinates describing the position ofeach icon displayed on the touchscreen interface. Data set {K} mayinclude subsets for each icon. Alternatively, each set of coordinatesmay include a third term, in addition to the terms describing positionsalong each of two axes, identifying a particular icon. Data set {K} mayinclude all coordinates within the bounds of each icon or may includecoordinates describing the perimeter or circumference of each icon fromwhich control circuitry 700 may determine all coordinates occupied byeach icon.

Data set {X} is the set of icons through which the swipe input passes.Control circuitry 700 determines which icons intersect the track of theswipe input described by data set {P}, as described below. Controlcircuitry 700 then adds identifiers of each icon through which the swipeinput passes to data set {X}.

Variable N is a counter variable. Control circuitry 700 initially setsthe value of N to zero. Control circuitry 700 sets the value of variableT to the total number of coordinate sets contained in data set {P}.

At 2406, control circuitry 700 determines whether the N^(th) coordinateset of data set {P} is in data set {K}. For example, control circuitry700 may compare the N^(th) coordinate set of data set {P} to eachcoordinate set of data set {K} to determine if there is a match. If so,then, at 2408, control circuitry 700 determines whether the iconrepresented by the N^(th) coordinate set is contained in data set {X}.For example, if control circuitry 700 determines that the N^(th)coordinate set of data set {P} matches a coordinate set of data set {K},control circuitry 700 retrieves an identifier of the icon from data set{K} and compares the identifier to data set {X}. If data set {X} doesnot already contain the identifier of the icon, then, at 2410, theidentifier of the icon represented by the N^(th) coordinate set is addedto data set {X}.

After adding the identifier of the icon to data set {X}, or if theN^(th) coordinate set is not found in data set {K}, or if the identifierof the icon represented by the N^(th) coordinate set is alreadycontained in data set {X}, at 2412, control circuitry 700 determineswhether N is equal to T. If not, then, at 2414, control circuitry 700increments the value of N by one, and processing returns to step 2406.

If N is equal to T, meaning that all coordinate sets of data set {P}have been compared with data set {K}, then, at 2416, control circuitry700 retrieves a plurality of search results related to all signaturesrepresented by each icon identified in data set {X}. For example,control circuitry 700 may modify the search for content to includesubjects of all signatures represented by each icon identified in dataset {X}. Alternatively, control circuitry 700 may filter a set of searchresults retrieved for content related to the subject of a firstsignature for content also related to the subjects of other signaturesrepresented by other icons identified in data set {X}.

It is contemplated that the actions or descriptions of FIG. 24 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 24 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 25 is a flowchart representing an illustrative process 2500 fordetermining a type of search to perform based on the duration of a tapinput, in accordance with some embodiments of the disclosure. Process2500 may be implemented on control circuitry 700. In addition, one ormore actions of process 2500 may be incorporated into or combined withone or more actions of any other process or embodiment described herein.

At 2502, control circuitry 700, using input circuitry 704, detects a tapinput as the selection of an icon. For example, input circuitry 704detects capacitance or electrical resistance of a user's skin on atouchscreen interface at a single point or a small number of adjacentpoints simultaneously. At 2504, control circuitry 700 sets a variable Tto the duration of the tap. For example, input circuitry 704 may, upondetecting the tap input, start a timer measuring time in increments ofone millisecond and stop the timer when the tap input is no longerdetected. The amount of time measured by the timer is then stored as thevalue of T.

At 2506, control circuitry 700 determines whether T is below a thresholdduration. For example, the threshold duration may be 500 milliseconds.Control circuitry 700 may subtract the value of T from the thresholdduration. If necessary, control circuitry 700 may convert the value of Tto a timescale in which the threshold duration is expressed. Forexample, the timer, and thus the value of T, may be expressed inmilliseconds while the threshold duration may be expressed in seconds.If the difference of the threshold duration and the value of T ispositive, meaning that T is below the threshold duration, then, at 2508,control circuitry 700 performs a search for content containing thesubject of the signature represented by the selected icon. If thedifference of the threshold duration and the value of T is zero orbelow, meaning that T meets or exceeds the threshold duration, then, at2510, control circuitry 700 identifies the subject of the signaturerepresented by the selected icon and, at 2512, performs a search forcontent published by the identified subject.

Is it contemplated that the actions or descriptions of FIG. 25 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 25 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

FIG. 26 is a flowchart representing an illustrative process 2600 fordetermining a type of search to perform based on the intensity of a tapinput, in accordance with some embodiments of the disclosure. Process2600 may be implemented on control circuitry 700. In addition, one ormore actions of process 2600 may be incorporated into or combined withone or more actions of any other process or embodiment described herein.

At 2602, control circuitry 700, using input circuitry 704, detects a tapinput as the selection of an icon. For example, input circuitry 704detects capacitance or electrical resistance of a user's skin on, or thepressure of a user's contact with, a touchscreen interface at a singlepoint or a small number of adjacent points simultaneously. At 2604,control circuitry 700 sets a variable P to the intensity of the tap. Forexample, input circuitry 704 may, upon detecting the tap input, measurean amount of deflection in the surface of the touchscreen interface, oran amount of electrical current allowed to flow between two layers ofthe touchscreen interface. Control circuitry 700 may convert themeasured deflection or flow of electrical current to a scaled valuerepresenting the intensity of the tap, which is stored as the value ofP.

At 2606, control circuitry 700 determines whether P is below a thresholdintensity. For example, the threshold intensity may be five on a scaleof zero to ten. Control circuitry 700 may subtract the value of P fromthe threshold intensity. If the difference of the threshold intensityand the value of P is positive, meaning that P is below the thresholdintensity, then, at 2608, control circuitry 700 performs a search forcontent containing the subject of the signature represented by theselected icon. If the difference of the threshold intensity and thevalue of P is zero or below, meaning that P meets or exceeds thethreshold intensity, then, at 2610, control circuitry 700 identifies thesubject of the signature represented by the selected icon and, at 2612,performs a search for content published by the identified subject.

It is contemplated that the actions or descriptions of FIG. 26 may beused with any other embodiment of this disclosure. In addition, theactions and descriptions described in relation to FIG. 26 may be done insuitable alternative orders or in parallel to further the purposes ofthis disclosure.

The processes described above are intended to be illustrative and notlimiting. One skilled in the art would appreciate that the steps of theprocesses discussed herein may be omitted, modified, combined, and/orrearranged, and any additional steps may be performed without departingfrom the scope of the invention. More generally, the above disclosure ismeant to be exemplary and not limiting. Only the claims that follow aremeant to set bounds as to what the present invention includes.Furthermore, it should be noted that the features and limitationsdescribed in any one embodiment may be applied to any other embodimentherein, and flowcharts or examples relating to one embodiment may becombined with any other embodiment in a suitable manner, done indifferent orders, or done in parallel. In addition, the systems andmethods described herein may be performed in real time. It should alsobe noted that the systems and/or methods described above may be appliedto, or used in accordance with, other systems and/or methods.

1. A method for searching for content related to a subject of a portionof video of content, the method comprising: identifying, during playbackof content, an action signature corresponding to each motion of aplurality of motions in the video of the content; storing, for eachaction signature, a start timestamp at which the respective motioncorresponding to the respective action signature begins, an endtimestamp at which the respective motion corresponding to the respectiveaction signature ends, and an identifier of the action signature;receiving an input command; generating for display a plurality of icons,each icon of the plurality of icons representing a respective actionsignature; receiving a selection of an icon of the plurality of icons;and performing a search for content related to the action signaturerepresented by the selected icon.
 2. The method of claim 1, wherein theselection of the icon comprises a swipe gesture on a touchscreeninterface.
 3. The method of claim 2, further comprising: identifying adirection of the swipe gesture; wherein a type of the search for contentrelated to the action signature is based on the direction of the swipe.4. The method of claim 3, further comprising, in response to identifyinga first direction of the swipe gesture, performing a search for contentcontaining the subject of the action signature represented by theselected icon.
 5. The method of claim 3, further comprising, in responseto identifying a second direction of the swipe gesture, performing asearch for content having an action signature similar to the actionsignature represented by the selected icon.
 6. The method of claim 3,further comprising, in response to identifying a third direction of theswipe gesture: identifying the subject of the action signaturerepresented by the selected icon; and performing a search for contentpublished by the identified subject.
 7. The method of claim 2, whereinthe swipe gesture passes through a second icon of the plurality oficons, the method further comprising: retrieving a plurality of searchresults related to both the action signature represented by the selectedicon and the action signature represented by the second icon.
 8. Themethod of claim 1, wherein the selection of the icon comprises a tap ona touchscreen interface.
 9. The method of claim 8, further comprising:determining a duration of the tap; in response to determining that theduration of the tap is below a threshold duration, performing a searchfor content containing the subject of the action signature representedby the selected icon; and in response to determining that the durationof the tap meets or exceeds the threshold duration: identifying thesubject of the action signature represented by the selected icon; andperforming a search for content published by the identified subject. 10.The method of claim 8, further comprising: determining an intensity ofthe tap; in response to determining that the intensity of the tap isbelow a threshold intensity, performing a search for content containingthe subject of the action signature represented by the selected icon;and in response to determining that the intensity of the tap meets orexceeds the threshold intensity: identifying the subject of the actionsignature represented by the selected icon; and performing a search forcontent published by the identified subject.
 11. A system for searchingfor content related to a subject of a portion of video of content, thesystem comprising: memory; and control circuitry configured to:identify, during playback of the content, an action signaturecorresponding to each sound of a plurality of motions in the video ofthe content; store, in the memory, for each action signature, a starttimestamp at which the respective motion corresponding to the respectiveaction signature begins, an end timestamp at which the respective motioncorresponding to the respective action signature ends, and an identifierof the respective action signature; receive an input command; generatefor display a plurality of icons, each icon of the plurality of iconsrepresenting a respective action signature; receive a selection of anicon of the plurality of icons; and perform a search for content relatedto the action signature represented by the selected icon.
 12. The systemof claim 11, wherein the selection of the icon comprises a swipe gestureon a touchscreen interface.
 13. The system of claim 12, wherein thecontrol circuitry is further configured to: identify a direction of theswipe gesture; wherein a type of the search for content related to theaction signature is based on the direction of the swipe.
 14. The systemof claim 13, wherein the control circuitry is further configured toperform, in response to identifying a first direction of the swipegesture, a search for content containing the subject of the actionsignature represented by the selected icon.
 15. The system of claim 13,wherein the control circuitry is further configured to perform, inresponse to identifying a second direction of the swipe gesture, asearch for content having an action signature similar to the actionsignature represented by the selected icon.
 16. The system of claim 13,wherein the control circuitry is further configured to, in response toidentifying a third direction of the swipe gesture: identify the subjectof the action signature represented by the selected icon; and perform asearch for content published by the identified subject.
 17. The systemof claim 12, wherein the swipe gesture passes through a second icon ofthe plurality of icons, and wherein the control circuitry is furtherconfigured to: retrieve a plurality of search results related to boththe action signature represented by the selected icon and the actionsignature represented by the second icon.
 18. The system of claim 11,wherein the selection of the icon comprises a tap on a touchscreeninterface.
 19. The system of claim 18, wherein the control circuitry isfurther configured to: determine a duration of the tap; in response todetermining that the duration of the tap is below a threshold duration,perform a search for content containing the subject of the actionsignature represented by the selected icon; and in response todetermining that the duration of the tap meets or exceeds the thresholdduration: identify the subject of the action signature represented bythe selected icon; and perform a search for content published by theidentified subject.
 20. The system of claim 18, wherein the controlcircuitry is further configured to: determine an intensity of the tap;in response to determining that the intensity of the tap is below athreshold intensity, perform a search for content containing the subjectof the action signature represented by the selected icon; and inresponse to determining that the intensity of the tap meets or exceedsthe threshold intensity: identify the subject of the action signaturerepresented by the selected icon; and perform a search for contentpublished by the identified subject. 21-50. (canceled)